查看原文
其他

面试官很牛,逼我尿遁

小姐姐养的狗 小姐姐味道 2021-05-19

原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。

庚子年庚辰月,狂风肆虐,飞沙走石。似在风中藏了把刀子,砍翻了我头顶的连衣帽。

今天等来了久违的面试。在我的印象里,面试就是要面对面的。因为疫情的缘故,过去几周我经历了太多的视频和电话面试,总是凉凉。想到一本正经的面试官,下半身可能藏在被子里,或者蹲在马桶上,我就满脸的不自在。

主要还是因为我无法展示自己的风采,这让我很是苦恼。所以今天抓住机会,我要好好的表现一番。

车行飞快,绕城半圈。结账付款,一气呵成。我低下头,用手遮住屏幕看了下地图。心说:到了老弟,接受我的蹂躏吧。

我抄着口袋挤进电梯,不小心蹭到旁边的姑娘。她一脸厌恶的侧过身子,生气的划拉着自己的手机屏幕。为了在面试前保持美丽的心情,我自动将其忽略。

我是xjjdog,别的不会,代码很牛。搞了10年JAVA,组的都是关键零件。多的时候,也有四五十号人,喊我一声牛总监

做完自我介绍,坐在我对面的面试官一脸平静,没有任何表情。但我知道,他的内心一定在震颤,正在搜肠刮肚的找问题,来挫挫我的威风。

我向来是不吃这一套的。它强任它强,清风拂山岗。它狂任它狂,明月照大江。

就在我一愣神的时候,他刷刷刷在白板上,写下一段代码,让我分析一下最终的结果是啥。

我瞪大了眼睛一看,只见白板上,有这么个东西。空格还贴心的给我标注出来。

int a = 2;
int b = a++ << ++a + ++a;
System.out.println(b);

我一看就头大了。最怕这种不加括号的炫技代码,它通常会带我回到痛苦的学生时代。

你应该把主要计算逻辑用括号扩起来,这种代码几乎没法阅读。我建议说。

他看了我一眼,没有言语,刷刷刷,加了几个括号。我定睛一看,惊出一身冷汗。

int a = 2;
int b = (a++) << (++a) + (++a);
System.out.println(b);

我心想你耍我不是?这括号加和没加有什么区别。我尝试着去推导这个过程,越分析越心惊。

面试官看出了我的窘境,他露出了久违的笑容。

我可以直接告诉你结果,是个整数,他的声音仿佛来自远方,结果就是1024,你可以根据结果分析一下怎么执行的。

亲爱的同学们,你们也不妨反向分析一下。这个问题非常的刁钻,就连我现在平心静气的分析,都要花费很长时间。在当时剑拔弩张的形势下,在面试官死死盯着你的时候,我的脑子一团浆糊。但我的自尊不认输,所以我尝试着从不同角度去倒推。

当时我就想。1024210次方,但无论怎么进行分析,都不会得到这样的结果。短暂的思考之后,我认输了。

我们平常不会写这样的代码,一段的沉默之后,我只好拿出杀手锏,在我们代码review的时候,会尽力避免这种模糊不清的代码书写方式,这也是我们治理的重点

面试官笑的更开心了,露出了整齐洁白的牙齿。他对我的回答非常满意。

我期望着他能聊一些比较高级的话题,比如分布式、事务、架构思想方面的问题。结果他一直在和我聊一些具体的实现方式。比如老掉牙的HashMap的底层结构,String的hash算法里,31是什么意思,什么时候会用到红黑树。

我告诉他,31是测试之后概率统计的结果,也是一个比较合适的质数。至于红黑树,它对我们理解和解决问题,并没有什么大的帮助,因为JDK8之前都是用的数组加链表,也没见哪些牛逼人物瞎BB。怎么JDK8一发布,就弄的和圣经一样?

聊了这么多不痛不痒的东西之后,我仿佛虚脱了。

对方好像特别喜欢一些死记硬背的冷门知识,或者是一些Java老版本里是真理,新版本里被推翻的知识点。随着时间的流逝,面试官脸上的笑容也越来越美丽。他仿佛成了一只吃人的老虎,张开了血盆大嘴。

  • Java的PECS原则是什么?
  • java8的ConcurrentHashMap为何放弃分段锁?又是怎么实现的?
  • 能手撸一个准确的二分查找算法么?(纸上写,不给电脑)
  • ZGC的染色指针是什么?
  • ...

能问到这些东西,证明面试官也是非常的博学,如果我平常不是多看了一些xjjdog的文章,或许就被他给唬住了。

你用过设计模式吧。Java的单例,双重检查,能分析一下么?

听到这里,我再也压制不住心中的怒火。

双重检查,已经是一个反模式,sonar甚至专门有规则去分析。我们平常应该尽量避免去这么写代码,分析这东西有什么用?

你不分析一下,怎么知道是反模式? 面试官不依不饶。

我觉得双方应该都需要冷静一下。同时,我也认识到双方之间深深的鸿沟。

这个问题我不太懂。您能给我普及一下么? ,我终于认怂了。

他呆呆的看了我几秒,应该是没料想到我会有这样的问题。

我向来忍受不了尴尬的沉默。我捂着肚子,说:肚子有点不舒服,我能先去一趟厕所么?

他几乎是瞬间,点了点头。

我穿过噪杂的办公室往厕所走,看到一个工位上,电梯遇到的小姑娘,正在恭恭敬敬的听着旁边一个秃顶大叔,向她咆哮。

这些年轻人啊,向来没有怜香惜玉的情操。

我是真憋急了。找到厕所,宽衣解带开闸放水一气呵成,顿感无比的舒畅。

电梯就在厕所旁边,违背风水的设计。

刚走下几个匆匆赶来上班的员工,我侧身而入。从电梯缓缓关闭的缝隙中,映射出了我尿遁的事实。

作者简介:小姐姐味道  (xjjdog),一个不允许程序员走弯路的公众号。聚焦基础架构和Linux。十年架构,日百亿流量,与你探讨高并发世界,给你不一样的味道。我的个人微信xjjdog0,欢迎添加好友,进一步交流。

热门文章

♮ 必看!java后端,亮剑诛仙(最全知识点)
后端技术索引,中肯火爆。全网转载上百次。
♮ Linux生产环境上,最常用的一套“vim“技巧
多张动图演绎常见操作,让你快速掌握vi捷径
♮ 学完这100多技术,能当架构师么?(非广告)
精准点评100多框架,帮你选型
♮ Linux上,最常用的一批命令解析(10年精选)
最简洁有力的Linux命令总结
♮ 一天有24个小时?别开玩笑了!
 一个典型的小姐姐味道技术文章
♮ 这次要是讲不明白Spring Cloud核心组件,那我就白编这故事了
最浅显易懂的微服务体系文章
♮ 企业内耗成瘾者
第一人称水文
♮ 程序员画像,十年沉浮
不可错过的人生总结,劝退神器
♮ 领导看了会炸毛的溢出理论
你是否也天天下班被@?
♮ 杀机!
沉默是金。你确定么?


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存